CloudWatch Agentでオンプレミスサーバのメトリクスを収集する
こんにちは、菊池です。年末ですね。
先日のアップデートで、CloudWatch Agentを使ってEC2インスタンスの詳細なメトリクスが収集できるようになりました。
今回はこちらを応用し、オンプレミスのサーバに対してもCloudWatchによるメトリクスの収集を試してみました。
やってみた
今回は、オンプレミスのHyper-V上で動作するCentOS 7に設定します。
- SSMエージェントのインストール/設定
- CloudWatch Agentのインストール
- 設定の作成
- CloudWatch Agent用のIAMユーザの作成・設定
- CloudWatch Agentの設定の実行
1.については過去に紹介しています、以下の記事を参照ください。
2、3についても、EC2への設定と同様になります。異なるのは、4以降の手順でした。
4. CloudWatch Agent用のIAMユーザの作成・設定
オンプレミスの場合、IAMロールを利用することはできませんので、IAMユーザによるアクセスキー/シークレットキーが必要です。
IAMユーザを作成し、AmazonEC2RoleforSSM
のポリシーを割り当てます。また、AWS CLIをインストールし、AmazonCloudWatchAgent
というプロファイルでアクセスキー/シークレットキー/リージョンを設定します。
# aws configure --profile AmazonCloudWatchAgent AWS Access Key ID [None]: xxxxxxxxxxxxxxxxxxx AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Default region name [None]:ap-northeast-1 Default output format [None]:
5. CloudWatch Agentの設定の実行
次に、設定を反映させます。コマンドで実行する場合には、以下のようになります。
# /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m onPremise -c ssm:agent-config-linux -s
RunCommandでも実行可能です。その場合には、ModeをonPremiseに指定し、パラメータストアのパラメータを入力しましょう。
問題なければ、CloudWatchのメトリクスに設定した項目が反映されます。
最後に
CloudWatch Agentのアップデートにより、AWS/オンプレ問わずに詳細なメトリクスをCloudWatchで収集可能になりました。オンプレの場合には権限設定のところで少し迷いました。
AWS/オンプレで同じツールでモニタリングすることが可能です。